import service from '@/utils/request';

export interface ListParams {
  userName?: string;
  phonenumber?: string;
  status?: string;
  dateRange?: Array<string>;
  beginTime?: string;
  endTime?: string;
}
export const getListData = (params: ListParams) => {
  return service.request({
    method: 'GET',
    url: '/system/user/list',
    params,
  });
};

// 查询用户详细
export const getUser = (userId?: any) => {
  return service.request({
    url: `/system/user/${userId}`,
    method: 'get',
  });
};

// 新增用户
export const addUser = (data: any) => {
  return service.request({
    url: '/system/user',
    method: 'post',
    data,
  });
};

// 修改用户
export const updateUser = (data: any) => {
  return service.request({
    url: '/system/user',
    method: 'put',
    data,
  });
};

// 删除用户
export const delUser = (userId: string) => {
  return service.request({
    url: `/system/user/${userId}`,
    method: 'delete',
  });
};

// 用户密码重置
export const resetUserPwd = (data: any, userId: string) => {
  data.userId = userId;
  return service.request({
    url: '/system/user/resetPwd',
    method: 'put',
    data,
  });
};

// 用户状态修改
export const changeUserStatus = (userId: any, status: any) => {
  const data = {
    userId,
    status,
  };
  return service.request({
    url: '/system/user/changeStatus',
    method: 'put',
    data,
  });
};

// 查询用户个人信息
export const getUserProfile = () => {
  return service.request({
    url: '/system/user/profile',
    method: 'get',
  });
};

// 修改用户个人信息
export const updateUserProfile = (data: any) => {
  return service.request({
    url: '/system/user/profile',
    method: 'put',
    data,
  });
};

// 用户密码重置
export const updateUserPwd = (oldPassword: any, newPassword: any) => {
  const data = {
    oldPassword,
    newPassword,
  };
  return service.request({
    url: '/system/user/profile/updatePwd',
    method: 'put',
    params: data,
  });
};

// 用户头像上传
export const uploadAvatar = (data: any) => {
  return service.request({
    url: '/system/user/profile/avatar',
    method: 'post',
    data,
  });
};

// 查询授权角色
export const getAuthRole = (userId: string) => {
  return service.request({
    url: `/system/user/authRole/${userId}`,
    method: 'get',
  });
};

// 保存授权角色
export const updateAuthRole = (data: any) => {
  return service.request({
    url: '/system/user/authRole',
    method: 'put',
    params: data,
  });
};
